implementation improvements