fix and make it bit better