todo
template coding begun