Major functionalities implemented