start implementing some methods