it works (...but it should be better)