restructured module and added a standalone function