added frame limiting and some more interaction