added require js support