partial implementation of 1A