First implementation...still something not clear on constructor