updated methods
some helper functions