cleanup + js OOP