updated from kivy project
ignore more stuff