Improved Spinner implementation
Still needs some more work