check parameter type, add tests
no need to check for exception, timezone is checked before
fix comments
add add_stage
use add_stage
fix coding style