current structure, but will be changed in the future