MAJOR REFACTOR - version 1.0 of the the system