Initial version of framework, refactoring to common component needed