more methods implemented