Updated version and created "special" constructor