https://jakerpomperada.com/constructor-in-java/