version 2 refactor of carracci