added windowing and basic movement