added unicorn implementation