api, stuff kinda works