error handling improvements
polymorphic tracks almost working