initial impl migrated from my old android app