moved to common whatever project
attempt at better function composition syntax