implemented PA4 specs