nothing special
added some argument validation and parsing methods
merged