initial alu implementation