added basic sine generator