done with 4bit asynchronous counter