adding some more functionality