add final tests and js