added some functionality