added base file structure and classes