more stuff, nearly working now