few tweaks + changed to public API
working head