some interaction mechanics, and style fun