some heavy changes
added libraries