bugfix
Apply optimisation + javascript constructor conformance