these are mainly three