description is almost finished
must start code writing