removed comments. proper documentation will come later