GNU lgpl for license
added flip flops
added include gaurd