implemented more methods