refactored and checking in 3rd party libs