added static and require