Seems decent. Why do you need to make it public anyway?