added initial solution, needs work