Make this thing a bit more otp compliant and start adding client api