added a bit more functions