Focus on extensions

Start a refactoring processe to achieve better extensability