Implemented all missing contructors and methods