Everything implemented except for fancy order stuff