better buttonmap
some basic client functionality, doesn't really do anything yet