Changed methods and constructor