UPD 08.08.2014 (code size optimizations)