functional approach
functional approach
x
refactoring functions
fix conflicts