Better structure and inheritance