atempt
done merging
added high level use case