basic funtionality added