added unit definition and constructor