Moved public interfaces into separate file
Refactored module declaration