Both but implementing it afterwards is almost impossible.