it kinda works. need to clean it up