Add some functionality, needs testing!