closes #3 #4