basic kernel implementation
minor implovements