refactored to use observable array instead of collection
cleanup