Initial smiley implementation (no interface yet) + lots of misc