working on module functionality