Clean code style, naming and make into singleton