writing custom libraries.