using good practices pointed by @houndci