it works, not pretty but works