defined some more functions