first commit--still have some bugs