copied classes to get started.