full refactor => proper MVP and reorganised repo