all main interactions implemented - quite fragile though; Does not work on android atm