not sure how much this improves the code, readability and/or the performance but i hope they are better