improve syntax and rebuild