Fix some validation and lookup issues, change to findOrCreate