built with intent to refresh rails memory and to add features