a bit too big analog assignment if you ask me