Added more methods and constructors