refactor, remove functoids as dependency use argument-validator