therefore it has different components described below