finalized rough methods
tried fixing minor bugs