better constructors for better stack traces