second proto-type
minor improvement for 2nd proto type