fexed constructors
changed type variable status
added const modification to methods