* finished migration to native javascript