extract to not exported struct