Some more functionality, but not complete yet