[NOT Finished] general structure