adapted mokee opensource