added poor implementation of delay constructor