minor edits; needs work