updated for better inter compatibility with other libraries