Add new features and change compiler to gcc