Add actual reading, changed timing, use std libs