Adding principle library