put constructors in header file and worked on some functions