working. half way there