contain to avoid errors with other types of javascript frameworks, namely prototype