init with basic funtionality