initial support for value classes