added name and value constructors