big structure refacto
fixes
fx