added possibility of multiple active states
adjusted read me