api ready to test and tweak