Add missed joine function and write unit tests

"You're at office, everyday
Typing thousands lines of code
You spend you days debugging scripts
And you boss gives you the creeps
Sixty five Developers
Planted in dark cubicles
You team is always very late
You work is just impossible
The deadline is already missed
CEO is always pissed
You drown youself in tones of code
What a lousy daily mode
You wish for something truly else
To clean away the mess
But your boss so stubborn. You're stuck.

And so you code ...
And so you code ..."