Changed static abstract classes to modules