closes #4 #3 #1