code working, still need some changes