Added more functionality, not all is currently working