not quite finished, but close. updating for monday deadline.