added fromValue constructor