use exceptions instead of ErrorT
update makefile for profiling