Might want to make this final and give it an empty private constructor to prevent instantiation