Optimizations, proper strings, several fixes, better errors