some reorganization
added cairo library; added user interface