Review

a lot of code changed
this will break crashlytics support