basic refactorings and first FX partially working interface