now compiles on visual studio, and works, rendering components interface more consistent