trying to improve the code base :s