Re-engineering library class