start file abstraction

Signed-off-by: Janos Laube <janos.dev@gmail.com>