Copyright @ 2014 FSTM library.