updated, fully working, except bluetooth