tree works
refactor components