Added frontend action loop and key listener, simplified solver