Fix bugs and add new constructor rule definitions