minimalist class construction