implemented a couple more functions