A bit cleaner, still needs work