more todos
implemented optional paremeters with short circuit or