Restructured library again to match Arduino standards