adding some library api functions