Added better constructors