few more methods added + constr improved