implemented several more contracts, and call stack display to errors