finished coding...testing needed