+ more flexible :require keyword parcing