fix #45

I did everything except activity events cause it's a backend stuff :)