Initial structure
Registration implemented