moved every function in the shared API