added code and libraries