not necessary debug cout removed