Input part, some framework logic added