Modified internal sturcture, remained testing functionalities