- added argument validation